package persistence.model;

import persistence.dao.FormationDAO;
import persistence.db.DataSet;

public class Formation extends AbstractModel {
	
	private String nomFormation;
	private String descriptionFormation;
	private DataSet anneesEtudesFormation;
	
	/**
	 * Constructeur d'une formation
	 */
	public Formation() {
		setDao(new FormationDAO(this));
	}
	
	/**
	 * Constructeur d'une formation
	 * @param id identifiant d'une formation
	 */
	public Formation(int id) {
		this();
		setId(id);
	}
	
	/**
	 * Constructeur d'une formation
	 * @param id identifiant de la formation
	 * @param nom nom de la formation
	 * @param desc description de la formation
	 * @param semestre semestres compris dans la formation
	 */
	public Formation(int id, String nom, String desc, DataSet anneesEtudes) {
		this(id);
		nomFormation = nom;
		descriptionFormation = desc;
		this.anneesEtudesFormation = anneesEtudes;
	}

	public String getNomFormation() {
		return nomFormation;
	}

	public void setNomFormation(String nomFormation) {
		this.nomFormation = nomFormation;
	}

	public String getDescriptionFormation() {
		return descriptionFormation;
	}

	public void setDescriptionFormation(String descriptionFormation) {
		this.descriptionFormation = descriptionFormation;
	}

	public DataSet getAnneesEtudesFormation() {
		return anneesEtudesFormation;
	}
	
	public void setAnneesEtudesFormation(DataSet anneeEtudeSet){
		anneesEtudesFormation = anneeEtudeSet;
	}
	
	public static DataSet all() {
		FormationDAO formationDAO = new FormationDAO();
		return formationDAO.all();
	}
}
